package com.xyy.dto;

import lombok.Data;

import javax.validation.constraints.*;
import java.time.LocalDate;

/**
 * 医生注册DTO
 */
@Data
public class DoctorRegisterDTO {

    /**
     * 系统登录账号
     */
    @NotBlank(message = "用户名不能为空")
    @Size(min = 3, max = 10, message = "用户名长度必须在3-10位之间")
    private String username;

    /**
     * 密码
     */
    @NotBlank(message = "密码不能为空")
    @Size(min = 6, max = 15, message = "密码长度必须在6-15位之间")
    private String password;

    /**
     * 确认密码
     */
    @NotBlank(message = "确认密码不能为空")
    private String confirmPassword;

    /**
     * 医生姓名
     */
    @NotBlank(message = "医生姓名不能为空")
    @Size(max = 50, message = "医生姓名最大50字符")
    private String realName;

    /**
     * 联系电话
     */
    @NotBlank(message = "联系电话不能为空")
    @Pattern(regexp = "^1[3-9]\\d{9}$", message = "请输入正确的手机号")
    private String phone;

    /**
     * 电子邮箱
     */
    @NotBlank(message = "电子邮箱不能为空")
    @Email(message = "请输入正确的邮箱格式")
    private String email;

    /**
     * 性别：0-未知，1-男，2-女，3-其他
     */
    @NotNull(message = "性别不能为空")
    @Min(value = 0, message = "性别值无效")
    @Max(value = 3, message = "性别值无效")
    private Integer gender;

    /**
     * 家庭住址
     */
    @Size(max = 255, message = "家庭住址最大255字符")
    private String address;

    /**
     * 执业范围：如临床、中医、儿科、全科、内科、外科、妇产科等
     */
    @NotBlank(message = "执业范围不能为空")
    @Size(max = 100, message = "执业范围最大100字符")
    private String practiceScope;
} 
 